Automated platform for generating interactive videos

ABSTRACT

Systems and methods generating interactive videos on an automated platform are provided herein. The example methods can include receiving data associated with at least one physical item and receiving video content comprising a visual presentation of the physical item. The method can include receiving a selection of a predetermined template, in which the template comprising a plurality of modules organized in a tree structure. The method can further include organizing the video content into the predetermined template to form organized video content, and embedding an object in a portion of the organized video content to form an interactive video, in which the object is based on the received data and is configured to enable at least one of: (i) user interaction with the physical item; or (ii) a link to a webpage associated with the physical item.

TECHNICAL FIELD

The following disclosure is directed to methods and systems forgenerating interactive videos and, more specifically, an automatedplatform for generating interactive videos.

BACKGROUND

Websites often present information about a given product for the purposeof selling the product to a customer of the website. Some of thesewebsites include videos visually presenting the product (e.g., a newvehicle, a power tool, a toy, a bouquet of flowers, etc.). However, suchvideos are typically predetermined and unalterable by the videodeveloper or the user.

SUMMARY

Disclosed herein are systems and methods for generating interactivevideos on an automated platform.

In one aspect, the disclosure features a method for generatinginteractive videos on an automated platform. The method can includereceiving data associated with at least one physical item; receivingvideo content comprising a visual presentation of the physical item, andreceiving a selection of a predetermined template. The template caninclude a plurality of modules organized in a tree structure. The methodincludes organizing the video content into the predetermined template toform organized video content, and embedding an object in a portion ofthe organized video content to form an interactive video. The object isbased on the received data and is configured to enable at least one of:(i) user interaction with the physical item; or (ii) a link to a webpageassociated with the physical item.

Various embodiments of the method can include one or more of thefollowing features.

The received data can be received via an application program interface(API). The received data can include at least one of: (a) an image ofthe physical item; (b) a review of the physical item; (c) a textdescription of the physical item; (d) an inventory status of thephysical item; or (e) at least one tag associated with the physicalitem. The received data can be inputted by a user of the platform, andwherein the received data comprises at least one of: (i) anidentification number associated with the physical item; (ii) a webpagelink associated with the physical item; (iii) a text description of thephysical item; (iv) at least one tag associated with the physical item;or (v) at least one feature of the physical item and, for each feature,a respective interaction type. The webpage can be configured to enablepurchase of the physical item.

The webpage can be configured to present information associated with thephysical item. The method can include receiving a modification of thepredetermined template, the modification being at least one of: (a) anaddition of one or more modules to the tree structure; or (b) amodification of a connection between two modules of the tree structure.The predetermined template can be based on the physical item. Theportion of the organized video can be assigned to a module of theplurality of modules. Transmitting the interactive video forpresentation can include transmitting the interactive video to a websiteor an application.

In another aspect, the disclosure features a system for generatinginteractive videos on an automated platform. The system can include atleast one memory for storing computer-executable instructions; and atleast one processor for executing the instructions stored on the memory.The execution of the instructions can program the at least one processorto perform operations include receiving data associated with at leastone physical item; receiving video content comprising a visualpresentation of the physical item; and receiving a selection of apredetermined template, the template comprising a plurality of modulesorganized in a tree structure. The operations can include organizing thevideo content into the predetermined template to form organized videocontent; and embedding an object in a portion of the organized video toform an interactive video. The object can be based on the received dataand is configured to enable at least one of: (i) user interaction withthe physical item; or (ii) a link to a webpage associated with thephysical item.

Various embodiments of the system can include one or more of thefollowing features. The received data can be received via an applicationprogram interface (API). The received data comprises at least one of:(a) an image of the physical item; (b) a review of the physical item;(c) a text description of the physical item; (d) an inventory status ofthe physical item; or (e) at least one tag associated with the physicalitem. The received data is inputted by a user of the platform, andwherein the received data comprises at least one of: (i) anidentification number associated with the physical item; (ii) a webpagelink associated with the physical item; (iii) a text description of thephysical item; (iv) at least one tag associated with the physical item;or (v) at least one feature of the physical item and, for each feature,a respective interaction type.

The webpage can be configured to enable purchase of the physical item.The webpage can be configured to present information associated with thephysical item. The operations can include receiving a modification ofthe predetermined template. The modification can be at least one of: (a)an addition of one or more modules to the tree structure; or (b) amodification of a connection between two modules of the tree structure.The predetermined template can be based on the physical item. Theportion of the organized video can be assigned to a module of theplurality of modules. Transmitting the interactive video forpresentation can include transmitting the interactive video to a websiteor an application.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention and many attendantadvantages thereof will be readily obtained as the same becomes betterunderstood by reference to the following detailed description whenconsidered in connection with the accompanying drawings. In thedrawings, like reference characters generally refer to the same partsthroughout the different views. Further, the drawings are notnecessarily to scale, with emphasis instead generally being placed uponillustrating the principles of the invention.

FIG. 1 depicts a high-level system architecture for providinginteractive media content according to an implementation.

FIG. 2 is a flowchart of an example method for generating an interactivevideo on an automated platform.

FIG. 3 is a diagram of an example system including the automatedplatform.

FIG. 4A is a diagram illustrating example module types for use in theexample system of FIG. 3 . FIG. 4B is a diagram of an example projectformed from five modules. FIG. 4C is a diagram of an example templatefor an interactive video.

FIG. 5A is a diagram of an example template organized serially forselecting features of a particular product. FIG. 5B is a diagram of atree structure associated with the example template of FIG. 5A.

FIG. 6A is a diagram of an example template in which an interactivevideo enables multiple items to be selected. FIG. 6B provides a shoppinglist that may be compiled based on the end user selections made in theinteractive video of FIG. 6A.

FIG. 7A is a diagram illustrating the adding of buttons into an exampleinteractive video. FIG. 7B is a diagram illustrating the adding ofsections into an example interactive video. FIG. 7C is a diagramillustrating a section of video content added in a time-arrangedsequence.

FIG. 8A is a high-level diagram illustrating the creation of a projectwithout a template. FIG. 8B is a high-level diagram illustrating thecreation of a project with a template. FIG. 8C is a diagram of anexample template in which the metadata can override the video contentand the button configuration.

FIG. 9A is a diagram of an example interactive video configured on theplatform app. FIG. 9B is a diagram of the example interactive video ofFIG. 9A configured on a seller's webpage.

FIG. 10A is a diagram of an example interactive video configured on theplatform app, in which a database is configured to collect data. FIG.10B is a diagram of the example interactive video of FIG. 9A configuredon a seller's webpage, in which a database is configured to collectdata.

DETAILED DESCRIPTION

Disclosed herein are exemplary embodiments of systems and methods forgenerating interactive videos. In particular, described are variousembodiments of an automated platform for generating interactive videos.

High-Level System Architecture

FIG. 1 depicts a high-level architecture of such a system according toan implementation. A media presentation having multiple video and/oraudio streams can be presented to a user on a user device 110 having oneor more application(s) 112 that together are capable of playing and/orediting the content and displaying a video library where informationassociated with videos can browsed and videos can be selected forplayback. The user device 110 can be, for example, a smartphone, tablet,laptop, desktop, palmtop, television, gaming device, virtual realityheadset, smart glasses, smart watch, music player, mobile telephone,workstation, or other computing device configured to execute thefunctionality described herein. The user device 110 can have outputfunctionality (e.g., display monitor, touchscreen, image projector,etc.) and input functionality (e.g., touchscreen, keyboard, mouse,remote control, etc.).

The application 112 can be a video player/editor and library browserthat is implemented as a native application, web application, or otherform of software. In some implementations, the application 112 is in theform of a web page, widget, and/or Java, JavaScript, .Net, Silverlight,Flash, and/or other applet or plug-in that is downloaded to the userdevice 110 and runs in conjunction with a web browser. The application112 and the web browser can be part of a single client-server interface;for example, the application 112 can be implemented as a plugin to theweb browser or to another framework or operating system. Any othersuitable client software architecture, including but not limited towidget frameworks and applet technology, can also be employed.

Media content can be provided to the user device 110 by content server102, which can be a web server, media server, a node in a contentdelivery network, or other content source. In some implementations, theapplication 112 (or a portion thereof) is provided by application server106. For example, some or all of the described functionality of theapplication 112 can be implemented in software downloaded to or existingon the user device 110 and, in some instances, some or all of thefunctionality exists remotely. For example, certain video encoding andprocessing functions can be performed on one or more remote servers,such as application server 106. In some implementations, the user device110 serves only to provide output and input functionality, with theremainder of the processes being performed remotely.

The user device 110, content server 102, application server 106, and/orother devices and servers can communicate with each other throughcommunications network 114. The communication can take place via anymedia such as standard telephone lines, LAN or WAN links (e.g., T1, T3,56 kb, X.25), broadband connections (ISDN, Frame Relay, ATM), wirelesslinks (802.11, Bluetooth, GSM, CDMA, etc.), and so on. The network 114can carry TCP/IP protocol communications and HTTP/HTTPS requests made bya web browser, and the connection between clients and servers can becommunicated over such TCP/IP networks. The type of network is not alimitation, however, and any suitable network can be used.

More generally, the techniques described herein can be implemented inany suitable hardware or software. If implemented as software, theprocesses can execute on a system capable of running one or more customoperating systems or commercial operating systems such as the MicrosoftWindows® operating systems, the Apple OS X® operating systems, the AppleiOS® platform, the Google Android™ platform, the Linux® operating systemand other variants of UNIX® operating systems, and the like. Thesoftware can be implemented a computer including a processing unit, asystem memory, and a system bus that couples various system componentsincluding the system memory to the processing unit.

The system can include a plurality of software modules stored in amemory and executed on one or more processors. The modules can be in theform of a suitable programming language, which is converted to machinelanguage or object code to allow the processor or processors to read theinstructions. The software can be in the form of a standaloneapplication, implemented in any suitable programming language orframework.

Method steps of the techniques described herein can be performed by oneor more programmable processors executing a computer program to performfunctions of the invention by operating on input data and generatingoutput. Method steps can also be performed by, and apparatus of theinvention can be implemented as, special purpose logic circuitry, e.g.,an FPGA (field programmable gate array) or an ASIC (application-specificintegrated circuit). Modules can refer to portions of the computerprogram and/or the processor/special circuitry that implements thatfunctionality.

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for executing instructions and one or more memory devicesfor storing instructions and data. Information carriers suitable forembodying computer program instructions and data include all forms ofnon-volatile memory, including by way of example semiconductor memorydevices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks,e.g., internal hard disks or removable disks; magneto-optical disks; andCD-ROM and DVD-ROM disks. One or more memories can store media assets(e.g., audio, video, graphics, interface elements, and/or other mediafiles), configuration files, and/or instructions that, when executed bya processor, form the modules, engines, and other components describedherein and perform the functionality associated with the components. Theprocessor and the memory can be supplemented by, or incorporated inspecial purpose logic circuitry.

It should also be noted that the present implementations can be providedas one or more computer-readable programs embodied on or in one or morearticles of manufacture. The article of manufacture can be any suitablehardware apparatus, such as, for example, a floppy disk, a hard disk, aCD-ROM, a CD-RW, a CD-R, a DVD-ROM, a DVD-RW, a DVD-R, a flash memorycard, a PROM, a RAM, a ROM, or a magnetic tape. In general, thecomputer-readable programs can be implemented in any programminglanguage. The software programs can be further translated into machinelanguage or virtual machine instructions and stored in a program file inthat form. The program file can then be stored on or in one or more ofthe articles of manufacture.

Media Presentations

The media presentations referred to herein can be structured in variousforms. For example, a particular media presentation can be an onlinestreaming video having multiple tracks or streams that a user can switchamong in real-time or near real-time. For example, a media presentationcan be structured using parallel audio and/or video tracks as describedin U.S. patent application Ser. No. 14/534,626, filed on Nov. 6, 2014,and entitled “Systems and Methods for Parallel Track Transitions,” theentirety of which is incorporated by reference herein. Morespecifically, a playing video file or stream can have one or moreparallel tracks that can be switched among in real-time automaticallyand/or based on user interactions. In some implementations, suchswitches are made seamlessly and substantially instantaneously, suchthat the audio and/or video of the playing content can continue withoutany perceptible delays, gaps, or buffering. In further implementations,switches among tracks maintain temporal continuity; that is, the trackscan be synchronized to a common timeline so that there is continuity inaudio and/or video content when switching from one track to another(e.g., the same song is played using different instruments on differentaudio tracks; same storyline performed by different characters ondifferent video tracks, and the like).

Such media presentations can also include interactive video structuredin a video tree, hierarchy, or other form. A video tree can be formed bynodes that are connected in a branching, hierarchical, or other linkedform. Nodes can each have an associated video segment, audio segment,graphical user interface (GUI) elements, and/or other associated media.Users (e.g., viewers) can watch a video that begins from a starting nodein the tree and proceeds along connected nodes in a branch or path. Uponreaching a point during playback of the video where multiple videosegments (child nodes) branch off from a segment (parent node), the usercan interactively select the branch or path to traverse and, thus, thenext video segment to watch.

As referred to herein, a particular branch or path in an interactivemedia structure, such as a video tree, can refer to a set ofconsecutively linked nodes between a starting node and ending node,inclusively, or can refer to some or all possible linked nodes that areconnected subsequent to (e.g., sub-branches) or that include aparticular node. Branched video can include seamlessly assembled andselectably presentable multimedia content such as that described in U.S.patent application Ser. No. 13/033,916, filed on Feb. 24, 2011, andentitled “System and Method for Seamless Multimedia Assembly” (the“Seamless Multimedia Assembly application”), and U.S. patent applicationSer. No. 14/107,600, filed on Dec. 16, 2013, and entitled “Methods andSystems for Unfolding Video Pre-Roll,” the entireties of which arehereby incorporated by reference.

The prerecorded video segments in a video tree or other structure can beselectably presentable multimedia content; that is, some or all of thevideo segments in the video tree can be individually or collectivelyplayed for a user based upon the user's selection of a particular videosegment, an interaction with a previous or playing video segment, orother interaction that results in a particular video segment or segmentsbeing played. The video segments can include, for example, one or morepredefined, separate multimedia content segments that can be combined invarious manners to create a continuous, seamless presentation such thatthere are no noticeable gaps, jumps, freezes, delays, or other visual oraudible interruptions to video or audio playback between segments. Inaddition to the foregoing, “seamless” can refer to a continuous playbackof content that gives the user the appearance of watching a single,linear multimedia presentation, as well as a continuous playback ofmultiple content segments that have smooth audio and/or videotransitions (e.g., fadeout/fade-in, linking segments) between two ormore of the segments.

In some instances, the user is permitted to make choices or otherwiseinteract in real-time at decision points or during decision periodsinterspersed throughout the multimedia content. Decision points and/ordecision periods can occur at any time and in any number during amultimedia segment, including at or near the beginning and/or the end ofthe segment. Decision points and/or periods can be predefined, occurringat fixed points or during fixed periods in the multimedia contentsegments. Based at least in part on the user's choices made before orduring playback of content, one or more subsequent multimedia segment(s)associated with the choices can be presented to the user. In someimplementations, the subsequent segment is played immediately andautomatically following the conclusion of the current segment, whereasin other implementations, the subsequent segment is played immediatelyupon the user's interaction with the video, without waiting for the endof the decision period or the end of the segment itself.

If a user does not make a selection at a decision point or during adecision period, a default, previously identified selection, or randomselection can be made by the system. In some instances, the user is notprovided with options; rather, the system automatically selects thesegments that will be shown based on information that is associated withthe user, other users, or other factors, such as the current date. Forexample, the system can automatically select subsequent segments basedon the user's IP address, location, time zone, the weather in the user'slocation, social networking ID, saved selections, stored user profiles,preferred products or services, and so on. The system can alsoautomatically select segments based on previous selections made by otherusers, such as the most popular suggestion or shared selections. Theinformation can also be displayed to the user in the video, e.g., toshow the user why an automatic selection is made. As one example, videosegments can be automatically selected for presentation based on thegeographical location of three different users: a user in Canada willsee a twenty-second beer commercial segment followed by an interviewsegment with a Canadian citizen; a user in the US will see the same beercommercial segment followed by an interview segment with a US citizen;and a user in France is shown only the beer commercial segment.

Multimedia segment(s) selected automatically or by a user can bepresented immediately following a currently playing segment, or can beshown after other segments are played. Further, the selected multimediasegment(s) can be presented to the user immediately after selection,after a fixed or random delay, at the end of a decision period, and/orat the end of the currently playing segment. Two or more combinedsegments can form a seamless multimedia content path or branch, andusers can take multiple paths over multiple playthroughs, and experiencedifferent complete, start-to-finish, seamless presentations. Further,one or more multimedia segments can be shared among intertwining pathswhile still ensuring a seamless transition from a previous segment andto the next segment. The content paths can be predefined, with fixedsets of possible transitions in order to ensure seamless transitionsamong segments. The content paths can also be partially or whollyundefined, such that, in some or all instances, the user can switch toany known video segment without limitation. There can be any number ofpredefined paths, each having any number of predefined multimediasegments. Some or all of the segments can have the same or differentplayback lengths, including segments branching from a single sourcesegment.

Traversal of the nodes along a content path in a tree can be performedby selecting among options that appear on and/or around the video whilethe video is playing. In some implementations, these options arepresented to users at a decision point and/or during a decision periodin a content segment. Some or all of the displayed options can hover andthen disappear when the decision period ends or when an option has beenselected. Further, a timer, countdown or other visual, aural, or othersensory indicator can be presented during playback of content segment toinform the user of the point by which he should (or, in some cases,must) make his selection. For example, the countdown can indicate whenthe decision period will end, which can be at a different time than whenthe currently playing segment will end. If a decision period ends beforethe end of a particular segment, the remaining portion of the segmentcan serve as a non-interactive seamless transition to one or more othersegments. Further, during this non-interactive end portion, the nextmultimedia content segment (and other potential next segments) can bedownloaded and buffered in the background for later playback (orpotential playback).

A segment that is played after (immediately after or otherwise) acurrently playing segment can be determined based on an option selectedor other interaction with the video. Each available option can result ina different video and audio segment being played. As previouslymentioned, the transition to the next segment can occur immediately uponselection, at the end of the current segment, or at some otherpredefined or random point. Notably, the transition between contentsegments can be seamless. In other words, the audio and video continueplaying regardless of whether a segment selection is made, and nonoticeable gaps appear in audio or video playback between any connectingsegments. In some instances, the video continues on to another segmentafter a certain amount of time if none is chosen, or can continueplaying in a loop.

In one example, the multimedia content is a music video in which theuser selects options upon reaching segment decision points to determinesubsequent content to be played. First, a video introduction segment isplayed for the user. Prior to the end of the segment, a decision pointis reached at which the user can select the next segment to be playedfrom a listing of choices. In this case, the user is presented with achoice as to who will sing the first verse of the song: a tall, femaleperformer, or a short, male performer. The user is given an amount oftime to make a selection (i.e., a decision period), after which, if noselection is made, a default segment will be automatically selected. Thedefault can be a predefined or random selection. Of note, the mediacontent continues to play during the time the user is presented with thechoices. Once a choice is selected (or the decision period ends), aseamless transition occurs to the next segment, meaning that the audioand video continue on to the next segment as if there were no breakbetween the two segments and the user cannot visually or audibly detectthe transition. As the music video continues, the user is presented withother choices at other decisions points, depending on which path ofchoices is followed. Ultimately, the user arrives at a final segment,having traversed a complete multimedia content path.

Interactive Videos for Physical Items

In various embodiments, interactive videos may feature one or morephysical items, e.g., for the purpose of selling the item, for educatinga user about the item, for training a user about the item, etc. Exampleembodiments of the interactive videos may enable a user to interact witha representation of an item. In some embodiments, the interactive videomay be configured such that the user is able to interact with therepresentation of the item within the video, outside of the video,adjacent to the video, etc.

For example, in the context of a product on sale (e.g., a car, a shirt,gym equipment, etc.), the video featuring the product may be configuredto enable a user to interact with the representation of the product, theproduct's features, types of the product, options for the product,accessories for the product, other products similar and/or related tothe product, etc. In this way, the user can explore and learn more aboutthe product before making a purchasing decision. In another example, inthe context of an educational video featuring a subject item, the videomay be configured to present a representation of the subject item (e.g.,a whale, a circuit, a plant, a book, etc.). The user (e.g., student,trainee, etc.) can interact with the subject item to learn more aboutand/or investigate the features of the subject item, reconfigurabilityof the item, etc. It is understood that, while this disclosure featuressystems and methods for generating interactive videos for products, theexample systems and methods described herein can be applied tointeractive videos featuring educational items, training items, itemssubject to investigation, items subject to analysis, etc.

In various embodiments, the interactive video can be included(integrated, embedded, etc.) in a website, an app for a mobile device,on an automated platform, etc. For example, the interactive videofeaturing a product may be on the product-specific webpage or a productdetail page (PDP) of the app or platform. In another example, theinteractive video can be part of a retail website (e.g., Nike.com,Toyota.com, Samsung.com, etc.) or a part of an online marketplace (e.g.,Walmart.com, Amazon.com, etc.).

Automated Platform and Related Methods

In various embodiments, an automated platform can be configured togenerate an interactive video. FIG. 2 shows a flowchart of an examplemethod for generating an interactive video on an automated platform.FIG. 3 illustrates a diagram of an example system including theautomated platform. For the sake of clarity and conciseness, FIGS. 2-3are discussed together herein. The term “publisher” is used to refer tothe user that is involved in generating the interactive videos and theterm “end user” is used to refer to the user that interacts with theinteractive videos.

Referring to FIG. 3 , the example system 300 may include an automatedplatform 302 hosted on a computing system 304. In some embodiments, theautomated platform 302 includes a platform interface 306. A serversystem 308 may be configured to be connected (e.g., via an API, via thecloud, a computer network, etc.) to the computing system 304. The serversystem 308 may be configured to be connected (e.g., via an API, via thecloud, a computer network, etc.) to an end user computing system 310.The end user computing system 310 may have an end user interface 312.The end user computing system 310 may be a mobile device, a smartphone,a tablet computer, a laptop computer, a notebook computer, a set ofsmart glasses, a smart watch, a headset, etc. Note that the system 300may be communicably connected (e.g., via an API, via the cloud, acomputer network, etc.) to other computing systems, e.g., remotecomputing system 314.

In step 202, the system 300 (e.g., automated platform 302) can beconfigured to receive data 316 associated with at least one physicalitem. The received data 316 may be streamed, received via an applicationprogramming interface (API), received in one or more data files, and/orreceived in a bulk data transfer. The received data 316 to may beinputted by the publisher and/or obtained from a remote computing system314. For example, the data 316 may include an identification number orcode associated the item (e.g., a stock keeping unit (SKU), an IDnumber, etc.), a link to a website (e.g., a URL) associated with theitem, a text description associated with the item, one or more tagsassociated with the item, a list of features associated with the item,one or more images of the item, one or more videos associated with theitem, one or more videos associated with the item feature, one or moreaudio data associated with the item, and/or one or more audio dataassociated with the item features. For example, the received data 316for a particular product may include a product name, one or morepictures of the product, customer reviews of the product, a productdescription, inventory status, one or more tags, an identificationnumber, etc. As described further below, one or more of these data maybe used or presented in or adjacent to the interactive video featuringthe product item.

In step 204, the system 300 can be configured to receive video contentincluding a visual presentation of one or more physical items. In someembodiments, the interactive video features one item. In someembodiments, the interactive video features two or more options (e.g.,color, size, similar products, etc.) for the same item. In someembodiments, the interactive video features two or more items. Forexample, an interactive video can feature a cooking video with a groceryshopping list of ingredients used in the video. In another example, aninteractive video for skiing or snowboarding can feature multiple piecesof clothing, equipment, accessories, etc. for purchase.

In step 206, the system 300 can be configured to receive a selection ofa predetermined template. The predetermined template may include two ormore modules (also referred to as “sections”) organized in a treestructure. Note that the system 300 may store and/or reference one ormore templates based on the item, a feature of the item, a tagassociated with the item, the publisher's preference, etc. Differenttemplates may be associated with different tree structures, may havedifferent appearances, and/or accommodate different data (e.g., video,audio, etc.) associated with the item. The publisher can select anappropriate template for a given item; add, remove, or adjust modules;adjust the associated tree structure; add, remove, or adjust the data inthe template.

FIG. 4A illustrates example module types for use in system 300. A givenmodule may include one or more nodes arranged in a tree structure.Illustrated are module type 1 (400 a), module type 2 (module 400 b),module type 3 (module 400 c), module type 4 (module 400 d), and moduletype 5 (module 400 e) (collectively referred as module types 400). It isunderstood that other types and/or configurations of modules are withinthe scope of this disclosure. For instance, module type 1 may include asingle node A having an input (connected to the input of the module 400a) and an output (connected to the output of the module 400 a). Moduletype 2 may include node A having an input (connected to the input to themodule 400 b) and an output connected to the inputs of nodes B1, B2, andB3. Nodes B1, B2, and B3 can be arranged in parallel. The outputs ofnodes B1, B2, and B3 can form the output of module 400 b. Module type 3may include a node A having an input (connected to the input of themodule 400 c) and an output connected to the inputs of node B1 and nodeB2 (which can be arranged in parallel to one another). The outputs ofnode B1 and node B2 can be connected to the inputs of node C1 and nodeC2. The outputs of node C1 and node C2 can be connected to the output ofmodule 400 c. Module type 4 may include parallel node A1, node A2, andnode A3. The input of module 400 d can be connected to one or more ofthe parallel nodes and the output of one or more of the parallel nodescan be connected to the output of the module 400 d. Module type 5 caninclude parallel node A1, node A2, and node A3. The input of module 400e can be connected to one or more of the parallel nodes A1, A2, A3. Theoutput of one or more of the parallel nodes can be connected to theinput of node B1. The output of node B1 can be connected to one or moreof the inputs of parallel nodes C1, C2, C3. The outputs of parallelnodes C1, C2, C3 can be connected to the output of module 400 e. Invarious embodiments, one or more modules 400 of types 1-5 can be part ofa project workspace 402. These modules 400 can be selected and/ororganized by a user (e.g., a publisher) working in the project workspace402.

FIG. 4B illustrates an example project 404 formed from five modules. Inthis example, the project 404 is for an interactive video enabling theselection of a wall paint. The project includes module 406 a (of type 4)enabling the selection of a room (e.g., in a residence); module 406 b(of type 1) enabling the selection of a color; module 406 c (of type 3)enabling the selection of a shade; module 406 d (of type 1) enabling theselection of a sheen; and module 406 e (of type 5) enabling theselection of cost.

FIG. 4C illustrates an example template 408. As illustrated, thetemplate 408 includes an index of sections at the top 410 of the frame412. The interactive video may play inside the frame 412 as it is beingconfigured for interactivity. The example template 408 may include twoor more sections (e.g., Section 1, Section 2, Section 3), two or moresub-sections (e.g., Sub-Section 1, Sub-Section 2, Sub-Section 3), andtwo or more buttons (e.g., Button A, Button B). The sections and/or thesubsections can each be associated with a particular interactive aspectof the video. The buttons can be configured by the publisher to enable auser select a feature or option in the interactive video.

In step 208, the system 300 can be configured to organize the videocontent into the predetermined template to form organized videotemplate. In some embodiments, the video content may be received inportions and/or divided into portions after receipt. These video contentportions may be organized into sections (and/or subsections). Forexample, a template for an interactive video featuring a toy mayorganize received video content such that the interactive video includesa first section for unboxing the toy, a second section for playing withthe toy, and exploring the features of the toy. In another example, atemplate for an interactive video featuring a fashion product (e.g.,clothes, accessories, shoes, etc.) may include a first section for theuser to select a fashion influencer, a second section to view a productassociated with the influencer, a third section to select a color, and afourth section to select a color.

In step 210, an object (e.g., a button, an interactive element, a slide,etc.) may be embedded in a portion of the video content (e.g., in asection) to enable the end user to interact with the video. FIG. 5Aillustrates example template 500 (or part of a template) organizedserially (e.g., sequentially, in time, etc.) for selecting features of aparticular product (e.g., item of clothing). The template 500 includes afirst section (Section A) in which the end user is prompted to select acolor of the product (e.g., green, red, or blue) and a second section(Section B) in which the end user is prompted to select a size of theproduct (e.g., 12, 15, 18, 21). As illustrated in FIG. 5B, the treestructure 502 is arranged such that the color branch 504 splits intothree branches (one for each color green, red, blue). The color brancheslead to the size branch 506, which splits into four branches (one forsize 12, size 15, size 18, and size 21).

FIG. 6A provides an example template 600 in which an interactive videoenables multiple items to be selected. In this example, each section mayinclude a video content portion associated with a food (e.g., a segmentof a cooking video in which one or more ingredients are added).Therefore, in Section A, a video portion (e.g., associated with avegetable component) may play and buttons (e.g., to types of vegetablesrespectively) may appear before, during, or after the video portionplays. Once a selection is made (e.g., button “Kale”), the interactivevideo moves to the next section having the next video content portion(e.g., associated with a meat component). Again, a selection of a button(e.g., sausage) is made and the video content in Section C is played.Note that this sequence may include more or less sections. The sectionsmay be of different lengths. For example, FIG. 6B provides a shoppinglist that may be compiled based on the end user selections made inprevious sections. It is understood that a similar list may be compiledbased on an interactive video for winter sports equipment, a car withtrim options, a product with various configurations, etc.

In some embodiments, the interactive video may be configured to wait forend user interaction (e.g., via a button) to move to the next section.In some embodiments, the interactive video may be configured toautomatically select a button for the end user after some time period(or make no selection) and move to the next section.

In some embodiments, the interactive video may be altered before,during, or after the video is “live” on a website. For example, one ormore aspects of the template and/or the video content (e.g., buttons,sections, subsections, timeline, video content, data) may be adjusted.FIG. 7A illustrates the adding of buttons into an interactive video 702.In this example, interactive video 702 includes buttons A, B, and C. Thepublisher can add a button D to create 704. In some embodiments, thetemplate is configured to enable the buttons A, B, C, and D todistribute automatically based on their number over the area inside theframe 706. Adding a button to video 704 causes the arrangement displayedin video 708, in which the five buttons are distributed in the frame706. In some embodiments, this predetermined distribution of buttons isadjustable by the publisher. Note that the buttons described herein maybe positioned anywhere within a frame (e.g., of the interactive video,of the player of the video, etc.), at the perimeter of the video,outside the video on the webpage.

In FIG. 7B, the publisher can choose to add or subtract sections from aninteractive video 710. In the illustrated example, the publisher hasadded a fourth section, which is added to the index at the top of theframe 712 to form interactive video 714. FIG. 7C illustrates anembodiment in which a section of video content is added in atime-arranged sequence. In particular, in interactive video 716, SectionA (selecting a color of the item) passes to Section B (selecting a sizeof the item). The platform 302 enables the publisher to add a sectionbetween Sections A and B. For example, a new Section B (selecting agender) is added between selecting a color in Section A and selecting asize in new Section C (old Section B). Note that the changes describedherein to the interactive video has a corresponding effect in the treestructure for the interactive video.

In some embodiments, a template for an interactive video may be embeddedinto a website and may be configured to be “overridden” by dataassociated with the webpage. For instance, the template can includeplaceholder sections, buttons, fields, video content, images, number oftemplate elements (e.g., sections, subsections, buttons, etc.), locationof elements, etc. The template may then be overridden by the website inreal time or near real time. The features of the template that can beoverridden may be included in metadata associated with the templateand/or webpage carrying the template. A publisher may choose to embedthe template into multiple webpages (e.g., each webpage featuring adifferent model of a shoe, an online marketplace featuring a widevariety of products, etc.) and override the template with content and/orconfigurations specific to the item on that webpage. In someembodiments, the configuration of template, video content, and/orrelated data can be stored within data of the webpage.

FIG. 8A illustrates, at a high level, the creation of a project withouta template. In this case, the publisher inputs data into a computingsystem 802, which is configured to create the project 804. The end userthen can load the created project 806 (e.g., onto a client device) andinteract with the interactive video therein.

FIG. 8B illustrates, at a high level, the creation of a project with atemplate. In this case, the publisher inputs data into a computingsystem 802, which can create a configuration file. In the same step (ora separate step), assets (e.g., video file(s), audio file(s), metadata,etc.) can be added to the configuration file, creating a combined file808. The end user can load an empty project 810 (e.g., on a clientdevice) and the combined file 808 (or, alternatively, the configurationfile and assets separately) can be loaded onto the empty project 810 toform the loaded project 812. In some cases, the loading of the emptyproject 810 and the loading of the combined filed 812 (or separateconfiguration file and assets) can be done in near-real time or realtime.

FIG. 8C illustrates such a template 814 in which the metadata canoverride the video content 816 and the button configuration 818. Forexample, the template is embedded in website with a link:https://eko.com/v/Template1/embed. For a webpage featuring a chair 814a, the video content 816 may be overridden with video content 816 aasking for user input on color. Accordingly, button configuration 818may change to button configuration 818 a to display various colorsassociate with the chair item. Additionally, the website link may changeto: https://eko.com/v/Template1/embed?overrides=Chair. Alternatively,the video content 816 may be overridden with video content 816 b (e.g.,for noodle soup) and button configuration 818 may be overridden withbuttons 818 b.

In some embodiments, each configuration of the template has anassociated identification number. For example, in the above, theconfiguration of the template 814 a for the chair interactive video hasa different identification number than the configuration of the template814 b for the noodle soup interactive video. In some embodiments, thepublisher is able to preview the interactive project in sandbox mode todetermine any additional configuration or data needed for the websites.

In some embodiments, the platform 302 can include an automatic testingfunction and/or program (referred to as a tester) that is configured todetermine whether a particular implementation of an interactive video iscorrect. For example, the tester can be configured to determine whethereach section (e.g., node) has video content, whether each button isoperational (e.g., responsive to user input), whether links to otherwebsites are operational, whether the video content is in the intendedsize and/or format, whether analytics are being sent from the webpage,whether the API to the platform is valid, etc. If there are any issuesas a result of testing, a substitute interactive video, a static video,or a static image may be placed temporarily while the issue is resolved(e.g., by the publisher).

End User Interaction and Related Analytics

In various embodiments, the end user of the platform 302 may be assigneda user identification number (referred to as “user_id”). The platform302 may be configured to manage purchases and/or other transactionsusing this user_id. The end user may interact with the interactive videoon website (e.g., of a merchant, organization, school, etc.) or on theplatform 302.

FIG. 9A illustrates an example interactive video 902 as it is configuredon the platform app 904. The platform app 904 includes data associatedwith sections 906 a (e.g., change of color) and 906 b (e.g., change ofproduct). The interactive video 902 may be presented in platforminterface 306 and can include buttons A, B. The video 902 may alsoinclude an option for the end user to add the product that is thesubject of the video to shopping cart 908.

FIG. 9B illustrates the example interactive video 902 as it isconfigured on a seller's webpage 910. In this example, the interactivevideo 902 may include a link 912 to the shopping cart 908 hosted by theplatform app 904. In other examples, the cart may be directly hosted bythe seller's webpage 910.

In some embodiments, the platform 302 is configured to execute one ormore analytical programs (referred to as analytics) on the interactivevideo, webpage, and/or app page to monitor and/or collect data on userinteractions (e.g., selections, purchases, etc.). For example, this datacan be used for marketing, product optimization, inventory optimization,etc. The data can be used by the merchant to determine which productsare selected more than others, interacted with more frequently and/orfor longer amounts of time, and/or purchased more often. In some cases,the data can be used to determine configurations for existing and/orfuture interactive videos. The analytics may keep track of userinteractions via the user_id, the session associated with the playing ofthe video via the session identification number (referred to assession_id), the item identification number (referred to as theitem_id), the URL, etc.

FIG. 10A illustrates the example interactive video 902 hosted by theplatform app 904, as discussed above. In this example, a database 1002is communicably connected to the platform app 904. The database 1002 maybe hosted on the computing system 304 and/or a remote computing system.The page data 1004 and/or the player data 1006 (of the interactivevideo) may be sent to database 1002. In some embodiments, the page data1004 and the player data 1006 may be synchronized, e.g., for the samesession_id.

FIG. 10B illustrates the example interactive vide 902 as configured on aseller's webpage 910. In this example, the database is communicablyconnected to the seller's page 910, the player, and/or the platform app904. The page data 1008, the player data 1006, and/or platform page data1008 may be transmitted to database 1002.

Terminology

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of what may beclaimed, but rather as descriptions of features that may be specific toparticular embodiments. Certain features that are described in thisspecification in the context of separate embodiments can also beimplemented in combination in a single embodiment. Conversely, variousfeatures that are described in the context of a single embodiment canalso be implemented in multiple embodiments separately or in anysuitable sub-combination. Moreover, although features may be describedabove as acting in certain combinations and even initially claimed assuch, one or more features from a claimed combination can in some casesbe excised from the combination, and the claimed combination may bedirected to a sub-combination or variation of a sub-combination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

Particular embodiments of the subject matter have been described. Otherembodiments are within the scope of the following claims. For example,the actions recited in the claims can be performed in a different orderand still achieve desirable results. As one example, the processesdepicted in the accompanying figures do not necessarily require theparticular order shown, or sequential order, to achieve desirableresults. In certain implementations, multitasking and parallelprocessing may be advantageous. Other steps or stages may be provided,or steps or stages may be eliminated, from the described processes.Accordingly, other implementations are within the scope of the followingclaims.

The phraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limiting.

The term “approximately”, the phrase “approximately equal to”, and othersimilar phrases, as used in the specification and the claims (e.g., “Xhas a value of approximately Y” or “X is approximately equal to Y”),should be understood to mean that one value (X) is within apredetermined range of another value (Y). The predetermined range may beplus or minus 20%, 10%, 5%, 3%, 1%, 0.1%, or less than 0.1%, unlessotherwise indicated.

The indefinite articles “a” and “an,” as used in the specification andin the claims, unless clearly indicated to the contrary, should beunderstood to mean “at least one.” The phrase “and/or,” as used in thespecification and in the claims, should be understood to mean “either orboth” of the elements so conjoined, i.e., elements that areconjunctively present in some cases and disjunctively present in othercases. Multiple elements listed with “and/or” should be construed in thesame fashion, i.e., “one or more” of the elements so conjoined. Otherelements may optionally be present other than the elements specificallyidentified by the “and/or” clause, whether related or unrelated to thoseelements specifically identified. Thus, as a non-limiting example, areference to “A and/or B”, when used in conjunction with open-endedlanguage such as “comprising” can refer, in one embodiment, to A only(optionally including elements other than B); in another embodiment, toB only (optionally including elements other than A); in yet anotherembodiment, to both A and B (optionally including other elements); etc.

As used in the specification and in the claims, “or” should beunderstood to have the same meaning as “and/or” as defined above. Forexample, when separating items in a list, “or” or “and/or” shall beinterpreted as being inclusive, i.e., the inclusion of at least one, butalso including more than one, of a number or list of elements, and,optionally, additional unlisted items. Only terms clearly indicated tothe contrary, such as “only one of or “exactly one of,” or, when used inthe claims, “consisting of,” will refer to the inclusion of exactly oneelement of a number or list of elements. In general, the term “or” asused shall only be interpreted as indicating exclusive alternatives(i.e. “one or the other but not both”) when preceded by terms ofexclusivity, such as “either,” “one of,” “only one of,” or “exactly oneof.” “Consisting essentially of,” when used in the claims, shall haveits ordinary meaning as used in the field of patent law.

As used in the specification and in the claims, the phrase “at leastone,” in reference to a list of one or more elements, should beunderstood to mean at least one element selected from any one or more ofthe elements in the list of elements, but not necessarily including atleast one of each and every element specifically listed within the listof elements and not excluding any combinations of elements in the listof elements. This definition also allows that elements may optionally bepresent other than the elements specifically identified within the listof elements to which the phrase “at least one” refers, whether relatedor unrelated to those elements specifically identified. Thus, as anon-limiting example, “at least one of A and B” (or, equivalently, “atleast one of A or B,” or, equivalently “at least one of A and/or B”) canrefer, in one embodiment, to at least one, optionally including morethan one, A, with no B present (and optionally including elements otherthan B); in another embodiment, to at least one, optionally includingmore than one, B, with no A present (and optionally including elementsother than A); in yet another embodiment, to at least one, optionallyincluding more than one, A, and at least one, optionally including morethan one, B (and optionally including other elements); etc.

The use of “including,” “comprising,” “having,” “containing,”“involving,” and variations thereof, is meant to encompass the itemslisted thereafter and additional items.

Use of ordinal terms such as “first,” “second,” “third,” etc., in theclaims to modify a claim element does not by itself connote anypriority, precedence, or order of one claim element over another or thetemporal order in which acts of a method are performed. Ordinal termsare used merely as labels to distinguish one claim element having acertain name from another element having a same name (but for use of theordinal term), to distinguish the claim elements.

1. A method for generating interactive videos on an automated platform,the method comprising: receiving data associated with at least onephysical item; receiving video content comprising a visual presentationof the physical item; receiving a selection of a predetermined templatebased on the at least one physical item, the template comprising aplurality of modules organized in a tree structure configured toaccommodate the data associated with the physical item and the visualpresentation of the physical item; organizing the video content into thepredetermined template to form organized video content; and embedding anobject in a portion of the organized video content to form aninteractive video, wherein the object is based on the received data andis configured to enable at least one of: (i) user interaction with thephysical item; or (ii) a link to a webpage associated with the physicalitem.
 2. The method of claim 1, wherein the received data is receivedvia an application program interface (API).
 3. The method of claim 2,wherein the received data comprises at least one of: (a) an image of thephysical item; (b) a review of the physical item; (c) a text descriptionof the physical item; (d) an inventory status of the physical item; or(e) at least one tag associated with the physical item.
 4. The method ofclaim 1, wherein the received data is inputted by a user of theplatform, and wherein the received data comprises at least one of: (i)an identification number associated with the physical item; (ii) awebpage link associated with the physical item; (iii) a text descriptionof the physical item; (iv) at least one tag associated with the physicalitem; or (v) at least one feature of the physical item and, for eachfeature, a respective interaction type.
 5. The method of claim 1,wherein the webpage is configured to enable purchase of the physicalitem.
 6. The method of claim 1, wherein the webpage is configured topresent information associated with the physical item.
 7. The method ofclaim 1, further comprising receiving a modification of thepredetermined template, the modification being at least one of: (a) anaddition of one or more modules to the tree structure; or (b) amodification of a connection between two modules of the tree structure.8. (canceled)
 9. The method of claim 1, wherein the portion of theorganized video is assigned to a module of the plurality of modules. 10.The method of claim 1, wherein transmitting the interactive video forpresentation comprises transmitting the interactive video to a websiteor an application.
 11. A system for generating interactive videos on anautomated platform, the automated system comprising: at least one memoryfor storing computer-executable instructions; and at least one processorfor executing the instructions stored on the memory, wherein executionof the instructions programs the at least one processor to performoperations comprising: receiving data associated with at least onephysical item; receiving video content comprising a visual presentationof the physical item; receiving a selection of a predetermined templatebased on the at least one physical item, the template comprising aplurality of modules organized in a tree structure configured toaccommodate the data associated with the physical item and the visualpresentation of the physical item; organizing the video content into thepredetermined template to form organized video content; and embedding anobject in a portion of the organized video to form an interactive video,wherein the object is based on the received data and is configured toenable at least one of: (i) user interaction with the physical item; or(ii) a link to a webpage associated with the physical item.
 12. Thesystem of claim 11, wherein the received data is received via anapplication program interface (API).
 13. The system of claim 12, whereinthe received data comprises at least one of: (a) an image of thephysical item; (b) a review of the physical item; (c) a text descriptionof the physical item; (d) an inventory status of the physical item; or(e) at least one tag associated with the physical item.
 14. The systemof claim 11, wherein the received data is inputted by a user of theplatform, and wherein the received data comprises at least one of: (i)an identification number associated with the physical item; (ii) awebpage link associated with the physical item; (iii) a text descriptionof the physical item; (iv) at least one tag associated with the physicalitem; or (v) at least one feature of the physical item and, for eachfeature, a respective interaction type.
 15. The system of claim 11,wherein the webpage is configured to enable purchase of the physicalitem.
 16. The system of claim 11, wherein the webpage is configured topresent information associated with the physical item.
 17. The system ofclaim 1, wherein the operations further comprise receiving amodification of the predetermined template, the modification being atleast one of: (a) an addition of one or more modules to the treestructure; or (b) a modification of a connection between two modules ofthe tree structure.
 18. (canceled)
 19. The system of claim 11, whereinthe portion of the organized video is assigned to a module of theplurality of modules.
 20. The system of claim 11, wherein transmittingthe interactive video for presentation comprises transmitting theinteractive video to a website or an application.